
package TokensDelLenguaje;

public class Token_Variable extends Token_Identificador implements Cloneable{
    
    private Token_Uint valor = null;

    public Token_Variable(String identificador, Token valor){
        super(identificador);
        setId(Tokens.var);
        this.valor = (Token_Uint) valor;
    }
    
    @Override
    public int getTamano(){
        return valor.getTamano();
    }

    
    public Token_Uint getValor(){
        return this.valor;
    }
    
    @Override
    public Object clone(){
        
        Token_Variable copiaVariable=null;
        Token_Uint copiaNumero = null;
        
        copiaVariable=(Token_Variable)super.clone();
        
        if (this.valor != null){
            copiaNumero = (Token_Uint) this.valor.clone();
        }
        
        copiaVariable.setConstante(copiaNumero);
                
        return copiaVariable;
    }

    private void setConstante(Token_Uint valor) {
        this.valor = valor;
    }
        
    @Override
    public Tokens getId() {
        return this.valor.getId();
    }

    @Override
    public String toString() {
        return ("[ Var: " + this.getCadena() + " ]");
    }

 
}
